//
// Created by Dell on 2021/9/22.
//
#include "node.h"

using namespace std;
#ifndef AI_A_H
#define AI_A_H

class A {
private:
    map<vector<vector<int>>, bool> close; // close表
    priority_queue<node, vector<node >> open;// open表
    stack<node,vector<node>>open1;//dfs的open表
    int dx[4] = {0, -1, 0, 1}, dy[4] = {-1, 0, 1, 0}; // 控制转向
    node *originNode = new node(); // 初始节点
    int expandTimes = 0; // 计算次数
    clock_t startTime, endTime; // 开始和结束时间

public:
    A();

    ~A();

    void init();

    void show(node *tem);

    bool A();
    bool DFS();
};

#endif //AI_A_H
